G_OBJECT_TYPE_NAME (priv->surface));
}
-static void
-gtk_window_add_pointer_focus (GtkWindow *window,
- GtkPointerFocus *focus)
-{
- GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
-
- priv->foci = g_list_prepend (priv->foci, gtk_pointer_focus_ref (focus));
-}
-
-static void
-gtk_window_remove_pointer_focus (GtkWindow *window,
- GtkPointerFocus *focus)
-{
- GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
- GList *pos;
-
- pos = g_list_find (priv->foci, focus);
- if (!pos)
- return;
-
- priv->foci = g_list_remove (priv->foci, focus);
- gtk_pointer_focus_unref (focus);
-}
-
static GtkPointerFocus *
gtk_window_lookup_pointer_focus (GtkWindow *window,
GdkDevice *device,
gdouble x,
gdouble y)
{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkPointerFocus *focus;
focus = gtk_window_lookup_pointer_focus (window, device, sequence);
}
else
{
- gtk_window_remove_pointer_focus (window, focus);
+ GList *pos;
+
+ pos = g_list_find (priv->foci, focus);
+ if (pos)
+ {
+ priv->foci = g_list_remove (priv->foci, focus);
+ gtk_pointer_focus_unref (focus);
+ }
}
gtk_pointer_focus_unref (focus);
else if (target)
{
focus = gtk_pointer_focus_new (window, target, device, sequence, x, y);
- gtk_window_add_pointer_focus (window, focus);
- gtk_pointer_focus_unref (focus);
+ priv->foci = g_list_prepend (priv->foci, focus);
}
}